home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CU Amiga Super CD-ROM 25
/
CU Amiga Magazine's Super CD-ROM 25 (1998)(EMAP Images)(GB)(Track 1 of 2)[!][issue 1998-08].iso
/
CUCD
/
Magazine
/
Issues
/
TwistDemo
/
Aminet
/
AminetFTP.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1995-03-27
|
3KB
|
166 lines
/**
* $Id$
*
*
* Aminet FTP file
* Copyright © 1995 HiSoft. All Rights Reserved.
**/
ADDLIB('rexxsupport.library',0,-30,0)
PASSES = 0
ADDRESS Twist
PARSE ARG dbfilename,rela_x,rela_y,shiftkeys
OPEN dbfilename
OPTIONS RESULTS
LOGNAME = "anonymous"
FILESTOFTP = 'ENV:SortedAminetFTPGetList'
LASTFTPSITE = ""
Open(input,'RAM:FTP',W)
IF exists('ENV:HOST') = 1 then
DO
OPEN(input1, 'ENV:HOST', R)
HOSTNAME = '@' || READLN(input1)
CLOSE(input1)
END
ELSE
DO UNTIL VALID = 1
SAY "AmiTCP ENV:HOST not found enter your host name e.g. @xyx.com"
PARSE PULL Hostname
IF Substr(Hostname,1,1) ~= "@" THEN
DO
SAY HOSTNAME "is an invalid hostname, must be like @xyz.com"
END
ELSE
DO
VALID = 1
END
END
IF exists('ENV:LOGNAME') = 1 then
DO
OPEN(input2, 'ENV:LOGNAME', R)
FTPNAME = READLN(input2)
CLOSE(input2)
END
ELSE
DO
SAY "AmiTCP ENV:LOGNAME not found enter your log name e.g. myname"
PARSE PULL FTPNAME
END
IF EXISTS(FILESTOFTP) THEN
DO
Open(ftpinput,FILESTOFTP)
DO UNTIL EOF(ftpinput) = 1
FTPENTRY = Readln(ftpinput)
PARSE VAR FTPENTRY '//' FTPSITE '/' PATHNAME
CALL READVARIABLES
IF FTPSITE != "" THEN DO
CALL FTPFILE
END
END
Close(ftpinput)
END
VALID = 0
CLOSE(input)
ADDRESS COMMAND 'run AmiTCP:bin/ftp >CON: <RAM:FTP -n -i -v ' || FIRSTFTPSITE
EXIT
/* This subroutine parses the filename and path variables out of the
* the full pathname + filename string.
*/
READVARIABLES:
DO i = 1 TO LENGTH(PATHNAME) BY 1
X = RIGHT(PATHNAME,i)
Z = SUBSTR(X,1,1)
IF Z = "/" THEN
DO
FILENAME = RIGHT(PATHNAME,i-1)
SITEPATH = '/' || LEFT(PATHNAME,LENGTH(PATHNAME)-i)
i = LENGTH(PATHNAME)
END
END
/* This subroutine is used to pass the parameters to the pipe,
* it also examines the last site and decides whether a change of ftp site
* was requested
*/
FTPILE:
IF FTPSITE = "" THEN
DO
Writeln(input,'close')
Writeln(input,'quit')
END
ELSE
DO
IF LASTFTPSITE = "" | LASTFTPSITE ~= FTPSITE THEN
DO
IF LASTFTPSITE = "" THEN
DO
END
ELSE
DO
Writeln(input,'close')
END
IF PASSES = 0 THEN
DO
FIRSTFTPSITE = FTPSITE
PASSES = 1
END
ELSE
DO
Writeln(input,'open ' || FTPSITE)
END
Writeln(input,'user ' || LOGNAME '' || FTPNAME || HOSTNAME)
Writeln(input,'bin')
Writeln(input,'cd ' || SITEPATH)
Writeln(input,'get ' || FILENAME)
LASTFTPSITE = FTPSITE
END
ELSE
DO
Writeln(input,'cd ' || SITEPATH)
Writeln(input,'get ' || FILENAME)
END
END